package com.lf2.tool;

import com.lf2.Lf_Debug;

import java.security.MessageDigest;


public class ShaUtil
{
	/**
	 * 算法常量： SHA1
	 */
	private static final String ALGORITHM_SHA1 = "SHA-1";
	/**
	 * 算法常量： SHA256
	 */
	private static final String ALGORITHM_SHA256 = "SHA-256";
	/**
	 * sha1计算.
	 *
	 * @param datas
	 *            待计算的数据
	 * @return 计算结果
	 */
	public static byte[] sha1(byte[] data) {
		MessageDigest md = null;
		try {
			md = MessageDigest.getInstance(ALGORITHM_SHA1);
			md.reset();
			md.update(data);
			return md.digest();
		} catch (Exception e) {
			Lf_Debug.e_printf(Lf_Debug._FILE_LINE_FUNC_(), e);
			return null;
		}
	}

	/**
	 * sha256计算.
	 *
	 * @param datas
	 *            待计算的数据
	 * @return 计算结果
	 */
	public static byte[] sha256(byte[] data) {
		MessageDigest md = null;
		try {
			md = MessageDigest.getInstance(ALGORITHM_SHA256);
			md.reset();
			md.update(data);
			return md.digest();
		} catch (Exception e) {
			Lf_Debug.e_printf(Lf_Debug._FILE_LINE_FUNC_(), e);
			return null;
		}
	}
}